﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _005_虚方法
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Enemy enemy; //按照父类声明，通用的，但是子类特定功能无法使用
            //enemy = new Type1Enemy();
            enemy = new Boss();
            //子类特定功能没法使用 enemy.Bosssill()
            //子类不能定义父类 Boss b = new Enemy();
            Enemy b2 = new Boss();
            b2.Move();

            Boss b = new Boss();  
            b.AI();

            Enemy c = new Boss();//只有用含义隐藏方法的子类才能实现父类重写
            c.AI();               //隐藏的重写比虚方法的等级更低
        }
    }
}
